TransDPOR: A Novel Dynamic Partial-Order Reduction Technique for Testing Actor Programs
نویسندگان
چکیده
To detect hard-to-find concurrency bugs, current tools systematically explore all possible interleavings of the transitions in a program. Unfortunately, concurrent programs have a large number of possible interleavings due to nondeterminism. Speeding up such tools requires pruning the state space explored. Partial-order reduction (POR) techniques can substantially prune the number of explored interleavings. These techniques require defining a dependency relation on transitions in the program, and exploit independency among certain transitions to prune the state space. We observe that actor systems, a prevalent class of programs where computation entities communicate by exchanging messages, exhibit a dependency relation among co-enabled transitions with an interesting property: transitivity. This paper introduces a novel dynamic POR technique, TransDPOR, that exploits the transitivity of the dependency relation in actor systems. Empirical results show that leveraging transitivity speeds up exploration by up to two orders of magnitude compared to existing POR techniques.
منابع مشابه
Evaluating Ordering Heuristics for Dynamic Partial-Order Reduction Techniques
Actor programs consist of a number of concurrent objects called actors, which communicate by exchanging messages. Nondeterminism in actors results from the different possible orders in which available messages are processed. Systematic testing of actor programs explores various feasible message processing schedules. Dynamic partial-order reduction (DPOR) techniques speed up systematic testing b...
متن کاملImproved Dynamic Partial-Order Reduction for Asynchronous Message-Passing Programs
This paper presents two algorithmic refinements that improve systematic testing of asynchronous message-passing programs for a fixed input. Such programs can have a large number of possible execution paths due to the nondeterministic interleaving of messages. However, many paths are equivalent, and dynamic partial-order reduction (DPOR) techniques attempt to explore all distinct, feasible behav...
متن کاملEffective Techniques for Stateless Model Checking
Aronis, S. 2018. Effective Techniques for Stateless Model Checking. Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology 1602. 56 pp. Uppsala: Acta Universitatis Upsaliensis. ISBN 978-91-513-0160-0. Stateless model checking is a technique for testing and verifying concurrent programs, based on exploring the different ways in which operations execut...
متن کاملAbPress: Flexing Partial-Order Reduction and Abstraction
Partial-order reduction (POR) and lazy abstraction with interpolants are two complementary techniques that have been successfully employed to make model checking tools for concurrent programs effective. In this work, we present AbPress – Abstraction-based Partial-order Reduction with Source-Sets – an algorithm that fuses a recently proposed and powerful dynamic POR technique based on source-set...
متن کاملScalable Dynamic Partial Order Reduction
Systematic testing, first demonstrated in small, specialized cases 15 years ago, has matured sufficiently for large-scale systems developers to begin to put it into practice. With actual deployment come new, pragmatic challenges to the usefulness of the techniques. In this paper we are concerned with scaling dynamic partial order reduction, a key technique for mitigating the state space explosi...
متن کامل